package com.yunfeisoft.business.model;

import com.yunfeisoft.common.base.BaseModel;
import com.yunfeisoft.common.sql.record.TransientField;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;

/**
 * ClassName: FamilySatisfactionQuestionnaire
 * Description: 家属满意度调查表
 *
 * @Author: Jackie liu
 * Date: 2020-05-22
 */
@Entity
@Table(name = "TT_FAMILY_SATISFACTION_QUESTIONNAIRE")
public class FamilySatisfactionQuestionnaire extends BaseModel implements Serializable {

    /**
     * Field serialVersionUID: 序列号
     */
    private static final long serialVersionUID = 1L;

    /**
     * 房间id
     */
    @Column
    private String roomId;

    @TransientField
    private String roomNum;

    @TransientField
    private String floorNum;

    public String getFloorNum() {
        return floorNum;
    }

    public void setFloorNum(String floorNum) {
        this.floorNum = floorNum;
    }

    @TransientField
    private String createName;

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public String getRoomNum() {
        return roomNum;
    }

    public void setRoomNum(String roomNum) {
        this.roomNum = roomNum;
    }

    /**
     * 院部工作满意度1满意2一般3不满意
     */
    @Column
    private Integer satisfactoryJobSatisfaction;

    public String getSatisfactoryJobSatisfactionStr() {
        if (satisfactoryJobSatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(satisfactoryJobSatisfaction);
    }

    /**
     * 院办工作人员服务热情满意度1满意2一般3不满意
     */
    @Column
    private Integer satisfactoryJobStaffSatisfaction;

    public String getSatisfactoryJobStaffSatisfactionStr() {
        if (satisfactoryJobStaffSatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(satisfactoryJobStaffSatisfaction);
    }

    /**
     * 院内总体环境、卫生满意度1满意2一般3不满意
     */
    @Column
    private Integer healthSatisfactionSatisfaction;

    public String getHealthSatisfactionSatisfactionStr() {
        if (healthSatisfactionSatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(healthSatisfactionSatisfaction);
    }

    /**
     * 院办工作责任、效率满意度1满意2一般3不满意
     */
    @Column
    private Integer efficiencySatisfactionSatisfaction;

    public String getEfficiencySatisfactionSatisfactionStr() {
        if (efficiencySatisfactionSatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(efficiencySatisfactionSatisfaction);
    }

    /**
     * 医生工作能力的满意度1满意2一般3不满意
     */
    @Column
    private Integer doctorWorkAbilitySatisfaction;

    public String getDoctorWorkAbilitySatisfactionStr() {
        if (doctorWorkAbilitySatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(doctorWorkAbilitySatisfaction);
    }

    /**
     * 医生服务态度的满意度1满意2一般3不满意
     */
    @Column
    private Integer doctorServiceAttitudeSatisfaction;

    public String getDoctorServiceAttitudeSatisfactionStr() {
        if (doctorServiceAttitudeSatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(doctorServiceAttitudeSatisfaction);
    }

    /**
     * 护士工作能力的满意度1满意2一般3不满意
     */
    @Column
    private Integer nurseWorkAbilitySatisfaction;

    public String getNurseWorkAbilitySatisfactionStr() {
        if (nurseWorkAbilitySatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(nurseWorkAbilitySatisfaction);
    }

    /**
     * 护士服务态度的满意度1满意2一般3不满意
     */
    @Column
    private Integer nurseServiceAttitudeSatisfaction;

    public String getNurseServiceAttitudeSatisfactionStr() {
        if (nurseServiceAttitudeSatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(nurseServiceAttitudeSatisfaction);
    }

    /**
     * 护士解决问题能力的满意度1满意2一般3不满意
     */
    @Column
    private Integer nurseResolveAbilitySatisfaction;

    public String getNurseResolveAbilitySatisfactionStr() {
        if (nurseResolveAbilitySatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(nurseResolveAbilitySatisfaction);
    }

    /**
     * 食堂饭菜满意度1满意2一般3不满意
     */
    @Column
    private Integer canteenMealSatisfaction;

    public String getCanteenMealSatisfactionStr() {
        if (canteenMealSatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(canteenMealSatisfaction);
    }

    /**
     * 食堂工作人员的服务态度满意度1满意2一般3不满意
     */
    @Column
    private Integer canteenWorkerServiceSatisfaction;

    public String getCanteenWorkerServiceSatisfactionStr() {
        if (canteenWorkerServiceSatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(canteenWorkerServiceSatisfaction);
    }


    /**
     * 食堂及餐厅卫生状况满意度1满意2一般3不满意
     */
    @Column
    private Integer canteenHealthSatisfaction;

    public String getCanteenHealthSatisfactionStr() {
        if (canteenHealthSatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(canteenHealthSatisfaction);
    }

    /**
     * 安全满意度1满意2一般3不满意
     */
    @Column
    private Integer safetySatisfaction;

    public String getSafetySatisfactionStr() {
        if (safetySatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(safetySatisfaction);
    }

    /**
     * 门卫责任满意度1满意2一般3不满意
     */
    @Column
    private Integer doormanResponsibilitySatisfaction;

    public String getDoormanResponsibilitySatisfactionStr() {
        if (doormanResponsibilitySatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(doormanResponsibilitySatisfaction);
    }

    /**
     * 安保工作满意度1满意2一般3不满意
     */
    @Column
    private Integer securityJobSatisfaction;

    public String getSecurityJobSatisfactionStr() {
        if (securityJobSatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(securityJobSatisfaction);
    }

    /**
     * 市场部介绍满意度1满意2一般3不满意
     */
    @Column
    private Integer marketingIntroducesSatisfaction;

    public String getMarketingIntroducesSatisfactionStr() {
        if (marketingIntroducesSatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(marketingIntroducesSatisfaction);
    }

    /**
     * 市场部参观满意度1满意2一般3不满意
     */
    @Column
    private Integer marketingVisitSatisfaction;

    public String getMarketingVisitSatisfactionStr() {
        if (marketingVisitSatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(marketingVisitSatisfaction);
    }

    /**
     * 市场部服务满意度1满意2一般3不满意
     */
    @Column
    private Integer marketingServiceSatisfaction;

    public String getMarketingServiceSatisfactionStr() {
        if (marketingServiceSatisfaction == null) {
            return null;
        }
        return FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.valueOf(marketingServiceSatisfaction);
    }

    /**
     * 最满意的工作人员
     */
    @Column
    private String mostSatisfactionPerson;


    @TransientField
    private String mostSatisfactionPersonName;

    /**
     * 最不满意工作人员
     */
    @Column
    private String mostDissatisfiedPerson;

    @TransientField
    private String mostDissatisfiedPersonName;

    public String getMostSatisfactionPersonName() {
        return mostSatisfactionPersonName;
    }

    public void setMostSatisfactionPersonName(String mostSatisfactionPersonName) {
        this.mostSatisfactionPersonName = mostSatisfactionPersonName;
    }

    public String getMostDissatisfiedPersonName() {
        return mostDissatisfiedPersonName;
    }

    public void setMostDissatisfiedPersonName(String mostDissatisfiedPersonName) {
        this.mostDissatisfiedPersonName = mostDissatisfiedPersonName;
    }

    /**
     * 建议
     */
    @Column
    private String suggestion;


    public String getRoomId() {
        return roomId;
    }

    public void setRoomId(String roomId) {
        this.roomId = roomId;
    }

    public Integer getSatisfactoryJobSatisfaction() {
        return satisfactoryJobSatisfaction;
    }

    public void setSatisfactoryJobSatisfaction(Integer satisfactoryJobSatisfaction) {
        this.satisfactoryJobSatisfaction = satisfactoryJobSatisfaction;
    }

    public Integer getSatisfactoryJobStaffSatisfaction() {
        return satisfactoryJobStaffSatisfaction;
    }

    public void setSatisfactoryJobStaffSatisfaction(Integer satisfactoryJobStaffSatisfaction) {
        this.satisfactoryJobStaffSatisfaction = satisfactoryJobStaffSatisfaction;
    }

    public Integer getHealthSatisfactionSatisfaction() {
        return healthSatisfactionSatisfaction;
    }

    public void setHealthSatisfactionSatisfaction(Integer healthSatisfactionSatisfaction) {
        this.healthSatisfactionSatisfaction = healthSatisfactionSatisfaction;
    }

    public Integer getEfficiencySatisfactionSatisfaction() {
        return efficiencySatisfactionSatisfaction;
    }

    public void setEfficiencySatisfactionSatisfaction(Integer efficiencySatisfactionSatisfaction) {
        this.efficiencySatisfactionSatisfaction = efficiencySatisfactionSatisfaction;
    }

    public Integer getDoctorWorkAbilitySatisfaction() {
        return doctorWorkAbilitySatisfaction;
    }

    public void setDoctorWorkAbilitySatisfaction(Integer doctorWorkAbilitySatisfaction) {
        this.doctorWorkAbilitySatisfaction = doctorWorkAbilitySatisfaction;
    }

    public Integer getDoctorServiceAttitudeSatisfaction() {
        return doctorServiceAttitudeSatisfaction;
    }

    public void setDoctorServiceAttitudeSatisfaction(Integer doctorServiceAttitudeSatisfaction) {
        this.doctorServiceAttitudeSatisfaction = doctorServiceAttitudeSatisfaction;
    }

    public Integer getNurseWorkAbilitySatisfaction() {
        return nurseWorkAbilitySatisfaction;
    }

    public void setNurseWorkAbilitySatisfaction(Integer nurseWorkAbilitySatisfaction) {
        this.nurseWorkAbilitySatisfaction = nurseWorkAbilitySatisfaction;
    }

    public Integer getNurseServiceAttitudeSatisfaction() {
        return nurseServiceAttitudeSatisfaction;
    }

    public void setNurseServiceAttitudeSatisfaction(Integer nurseServiceAttitudeSatisfaction) {
        this.nurseServiceAttitudeSatisfaction = nurseServiceAttitudeSatisfaction;
    }

    public Integer getNurseResolveAbilitySatisfaction() {
        return nurseResolveAbilitySatisfaction;
    }

    public void setNurseResolveAbilitySatisfaction(Integer nurseResolveAbilitySatisfaction) {
        this.nurseResolveAbilitySatisfaction = nurseResolveAbilitySatisfaction;
    }

    public Integer getCanteenMealSatisfaction() {
        return canteenMealSatisfaction;
    }

    public void setCanteenMealSatisfaction(Integer canteenMealSatisfaction) {
        this.canteenMealSatisfaction = canteenMealSatisfaction;
    }

    public Integer getCanteenWorkerServiceSatisfaction() {
        return canteenWorkerServiceSatisfaction;
    }

    public void setCanteenWorkerServiceSatisfaction(Integer canteenWorkerServiceSatisfaction) {
        this.canteenWorkerServiceSatisfaction = canteenWorkerServiceSatisfaction;
    }

    public Integer getCanteenHealthSatisfaction() {
        return canteenHealthSatisfaction;
    }

    public void setCanteenHealthSatisfaction(Integer canteenHealthSatisfaction) {
        this.canteenHealthSatisfaction = canteenHealthSatisfaction;
    }

    public Integer getSafetySatisfaction() {
        return safetySatisfaction;
    }

    public void setSafetySatisfaction(Integer safetySatisfaction) {
        this.safetySatisfaction = safetySatisfaction;
    }

    public Integer getDoormanResponsibilitySatisfaction() {
        return doormanResponsibilitySatisfaction;
    }

    public void setDoormanResponsibilitySatisfaction(Integer doormanResponsibilitySatisfaction) {
        this.doormanResponsibilitySatisfaction = doormanResponsibilitySatisfaction;
    }

    public Integer getSecurityJobSatisfaction() {
        return securityJobSatisfaction;
    }

    public void setSecurityJobSatisfaction(Integer securityJobSatisfaction) {
        this.securityJobSatisfaction = securityJobSatisfaction;
    }

    public Integer getMarketingIntroducesSatisfaction() {
        return marketingIntroducesSatisfaction;
    }

    public void setMarketingIntroducesSatisfaction(Integer marketingIntroducesSatisfaction) {
        this.marketingIntroducesSatisfaction = marketingIntroducesSatisfaction;
    }

    public Integer getMarketingVisitSatisfaction() {
        return marketingVisitSatisfaction;
    }

    public void setMarketingVisitSatisfaction(Integer marketingVisitSatisfaction) {
        this.marketingVisitSatisfaction = marketingVisitSatisfaction;
    }

    public Integer getMarketingServiceSatisfaction() {
        return marketingServiceSatisfaction;
    }

    public void setMarketingServiceSatisfaction(Integer marketingServiceSatisfaction) {
        this.marketingServiceSatisfaction = marketingServiceSatisfaction;
    }

    public String getMostSatisfactionPerson() {
        return mostSatisfactionPerson;
    }

    public void setMostSatisfactionPerson(String mostSatisfactionPerson) {
        this.mostSatisfactionPerson = mostSatisfactionPerson;
    }

    public String getMostDissatisfiedPerson() {
        return mostDissatisfiedPerson;
    }

    public void setMostDissatisfiedPerson(String mostDissatisfiedPerson) {
        this.mostDissatisfiedPerson = mostDissatisfiedPerson;
    }

    public String getSuggestion() {
        return suggestion;
    }

    public void setSuggestion(String suggestion) {
        this.suggestion = suggestion;
    }


    public enum FamilySatisfactionEnum {
        SATISFACTION(1, "满意"),
        NORMAL(2, "一般"),
        NOT_SATISFACTION(3, "不满意");

        private int value;
        private String label;

        private FamilySatisfactionEnum(int value, String label) {
            this.value = value;
            this.label = label;
        }

        public static String valueOf(Integer value) {
            if (value == null) {
                return null;
            }
            FamilySatisfactionQuestionnaire.FamilySatisfactionEnum[] values = FamilySatisfactionQuestionnaire.FamilySatisfactionEnum.values();
            for (FamilySatisfactionQuestionnaire.FamilySatisfactionEnum loop : values) {
                if (value == loop.getValue()) {
                    return loop.getLabel();
                }
            }
            return null;
        }

        public Integer getValue() {
            return value;
        }

        public String getLabel() {
            return label;
        }

    }

}